#include "fifo.hpp"

int main()
{
    // 创建管道文件
    fifofile ff(_FIFO_PATH_, _FIFO_NAME_);

    // 打开管道文件
    file rf(_FIFO_PATH_, _FIFO_NAME_);
    rf._readopen();
    char buff[1024];
    while (1)
    {
        int n = rf._read(buff, sizeof(buff));
        if (n == 0)
        {
            std::cout << "client exit, me too" << std::endl;
            break;
        }
        buff[n] = 0;
        std::cout << "client : " << buff << std::endl;
    }
    // 自动调用析构函数，删除管道文件
    return 0;
}

// #include <iostream>
// #include <cstdio>
// #include <fcntl.h>
// #include <sys/types.h>
// #include <sys/stat.h>
// #include <unistd.h>
// #define _FIFO_FILE_ "fifo"

// int main()
// {
//     //创建管道文件
//     int mf = mkfifo(_FIFO_FILE_, 0666);
//     if(mf < 0){
//         perror("mkfifo");
//         exit(1);
//     }
//     int rf = open(_FIFO_FILE_, O_RDONLY);
//     if(rf < 0){
//         perror("open");
//         exit(2);
//     }
//     //等待客户端发送信息
//     while(1)
//     {
//         char buff[1024];
//         int n = read(rf, buff, sizeof(buff));
//         if(n < 0){
//             perror("read");
//             exit(3);
//         }
//         else if(n == 0)
//         {
//             printf("client exit, server exit too\n");
//             break;
//         }
//         buff[n] = 0;
//         printf("Client : %s\n",buff);
//     }
//     //关闭并删除管道文件
//     close(rf);
//     unlink(_FIFO_FILE_);
//     return 0;
// }